YES 3.079
H-Termination proof of /home/matraf/haskell/eval_FullyBlown_Fast/empty.hs
H-Termination of the given Haskell-Program with start terms could successfully be proven:
↳ HASKELL
↳ BR
mainModule Main
| ((index :: (Int,Int) -> Int -> Int) :: (Int,Int) -> Int -> Int) |
module Main where
Replaced joker patterns by fresh variables and removed binding patterns.
Binding Reductions:
The bind variable of the following binding Pattern
b@(vw,vx)
is replaced by the following term
(vw,vx)
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
mainModule Main
| ((index :: (Int,Int) -> Int -> Int) :: (Int,Int) -> Int -> Int) |
module Main where
Cond Reductions:
The following Function with conditions
is transformed to
undefined0 | True | = undefined |
undefined1 | | = undefined0 False |
The following Function with conditions
index | (vw,vx) i |
| | inRange (vw,vx) i | |
| | otherwise | |
|
is transformed to
index | (vw,vx) i | = index2 (vw,vx) i |
index1 | vw vx i True | = i - vw |
index1 | vw vx i False | = index0 vw vx i otherwise |
index0 | vw vx i True | = error [] |
index2 | (vw,vx) i | = index1 vw vx i (inRange (vw,vx) i) |
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
mainModule Main
| (index :: (Int,Int) -> Int -> Int) |
module Main where
Haskell To QDPs
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_primPlusNat(Succ(wu980), Succ(wu960)) → new_primPlusNat(wu980, wu960)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_primPlusNat(Succ(wu980), Succ(wu960)) → new_primPlusNat(wu980, wu960)
The graph contains the following edges 1 > 1, 2 > 2
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_primMinusNat(Succ(wu580), Succ(wu600)) → new_primMinusNat(wu580, wu600)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_primMinusNat(Succ(wu580), Succ(wu600)) → new_primMinusNat(wu580, wu600)
The graph contains the following edges 1 > 1, 2 > 2
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_index1(wu110, wu111, Succ(wu1120), Succ(wu1130)) → new_index1(wu110, wu111, wu1120, wu1130)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index1(wu110, wu111, Succ(wu1120), Succ(wu1130)) → new_index1(wu110, wu111, wu1120, wu1130)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_index10(wu149, wu150, wu151, Succ(wu1520), Succ(wu1530)) → new_index10(wu149, wu150, wu151, wu1520, wu1530)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index10(wu149, wu150, wu151, Succ(wu1520), Succ(wu1530)) → new_index10(wu149, wu150, wu151, wu1520, wu1530)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_index11(wu58, wu59, wu60, Succ(wu610), Succ(wu620)) → new_index11(wu58, wu59, wu60, wu610, wu620)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index11(wu58, wu59, wu60, Succ(wu610), Succ(wu620)) → new_index11(wu58, wu59, wu60, wu610, wu620)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_index12(wu96, wu97, wu98, Succ(wu990), Succ(wu1000)) → new_index12(wu96, wu97, wu98, wu990, wu1000)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index12(wu96, wu97, wu98, Succ(wu990), Succ(wu1000)) → new_index12(wu96, wu97, wu98, wu990, wu1000)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_index13(wu105, wu106, Succ(wu1070), Succ(wu1080)) → new_index13(wu105, wu106, wu1070, wu1080)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index13(wu105, wu106, Succ(wu1070), Succ(wu1080)) → new_index13(wu105, wu106, wu1070, wu1080)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
Q DP problem:
The TRS P consists of the following rules:
new_index14(wu115, wu116, wu117, Succ(wu1180), Succ(wu1190)) → new_index14(wu115, wu116, wu117, wu1180, wu1190)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index14(wu115, wu116, wu117, Succ(wu1180), Succ(wu1190)) → new_index14(wu115, wu116, wu117, wu1180, wu1190)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
↳ Narrow
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPSizeChangeProof
Q DP problem:
The TRS P consists of the following rules:
new_index15(wu35, wu36, wu37, Succ(wu380), Succ(wu390)) → new_index15(wu35, wu36, wu37, wu380, wu390)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs:
- new_index15(wu35, wu36, wu37, Succ(wu380), Succ(wu390)) → new_index15(wu35, wu36, wu37, wu380, wu390)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 5 > 5